Шаг 1: Установка PHP
Видео инструкция: Посмотреть
Скачайте PHP с официального сайта: php.net
Выберите: Windows downloads -> Zip (x64 Thread Safe)
Шаг 2: Установка Composer
Видео инструкция: Посмотреть
Скачайте Composer: getcomposer.org
Выберите: Download -> Composer-Setup.exe
Шаг 3: Установка PHPMailer
Перейдите в корневую директорию проекта и выполните команду:
composer require phpmailer/phpmailer
Эта команда создаст файл composer.json и установит PHPMailer в папку vendor.
Шаг 4: Настройка SMTP для Gmail
Шаги в настройках почты:
- Перейдите в Настройки -> Все настройки -> Пересылка и POP/IMAP
- Включите IMAP
Настройки в Google-аккаунте:
- Перейдите в Аккаунт Google -> Управление аккаунтом -> Безопасность
- Включите двухэтапную аутентификацию
- Создайте пароль приложений
- Сохраните 16-значный пароль
Видео инструкция: Посмотреть
ВАЖНО: Перед использованием проверить SMTP через этот сервис.
Шаг 5: Создание PHP-скрипта для отправки почты
Создайте файл process.php в корневой папке.
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$statusMessage = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'example@gmail.com';
$mail->Password = 'your_app_password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->CharSet = "UTF-8";
$to = "moydadur@gmail.com";
$subject = "Запитання від:" . $_POST["name"];
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = "<h1>Питання</h1>
<p><strong>Ім'я:</strong> {$_POST["name"]}</p>
<p><strong>Email:</strong> {$_POST["email"]}</p>
<p><strong>Залишене питання:</strong> {$_POST["message"]}</p>";
$mail->setFrom($_POST["email"]);
$mail->addAddress($to);
$mail->send();
$statusMessage = '';
} catch (Exception $e) {
$statusMessage = "Ошибка отправки формы: {$mail->ErrorInfo}";
}
}
echo json_encode(['message' => $statusMessage]);
?>
Шаг 6: Создание HTML-формы
Создайте HTML-страницу с формой для отправки данных:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Form</title>
</head>
<body>
<form action="mail.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" required>
<label for="email">Email:</label>
<input type="email" name="email" required>
<label for="message">Message:</label>
<textarea name="message" rows="5" required></textarea>
<button type="submit">Submit</button>
</form>
</body>
</html>